MEMS microphones normally comprise a membrane that defines an electrode of a capacitor. When the membrane undergoes deformation in response to an acoustic signal, the capacitance of the capacitor varies, and the capacitance variations may be read and converted into an output signal indicating the amplitude of the acoustic signal.
MEMS microphones are then provided with read interfaces, which generally supply electrical output signals in PDM (pulse-density modulation) format, i.e., a series of high-frequency pulses (typically from few hundreds of kHz to few MHz), the temporal density of which indicates the amplitude of the input signal. The electrical signals are then supplied to a processing unit for carrying out conversion into PCM (pulse-code modulation) format, which is the encoding commonly used for audio signals.
The high-frequency signals in PDM format enable one to obtain high-precision signals in PCM format.
MEMS microphones have proven particularly interesting, among other things, for applications in which arrays of microphones are used. In these cases, the signals supplied by the individual microphones are collected by a single processing unit, which, in addition to carrying out conversion into PCM format, may combine and further process the signals received. In particular, it is possible to implement so-called beamforming algorithms, i.e., spatial filtering techniques that enable selective amplification of the acoustic signals coming from a given direction, while attenuating the other contributions. Beamforming algorithms are frequently used when directionality is important for improving the quality of reception, for example in the case of music recording, voice recognition, teleconference applications, web-conferencing, and so forth.
In other words, beamforming is a method for discriminating between different signals based on the physical location of the sources of those different signals and beamforming enables creation of a virtual microphone pointing to a preferred direction using an array of microphones.
Beamforming is generally performed by software and uses audio PCM flow.
If the direction intended to be privileged is 0°, 90° or 180°, the delay to apply to one of the microphone is an integer value of 1/F where F the PCM sampling frequency. In all other cases the delay is a fractional value of 1/F.
However, generally, because the PCM frequency is comprised between 4 kHz and 48 kHz, typically equal to 16 kHz, it is difficult to keep such distance between microphones in an apparatus, such as a smartphone for example.
Thus, when the distance between microphones is smaller than C/F (where C is the speed of sound in air: ≈340 m/s), it is required to tune delays of microphones signals to emulate static or dynamic placement of the microphones.
A conventional solution for implementing those delays consists in using delay lines.
The size of these delay lines, i.e. the numbers of delay cells, may be important, in particular if a fine tuning of a large number of microphone paths with fine steps is required, leading thus to a great surface on silicon.
Further, the delay depths, i.e. the number of delay cells, must be fixed by hardware during the design phase and is actually designed for the worst case, leading thus to a number of delay cells which is unnecessarily great in other cases.
There is accordingly a need for a new solution for implementing those delays in a manner which is less area consuming.